package ex55.mm.flow.impound.quote.aggregate;

import org.apache.commons.lang3.builder.ToStringBuilder;

import java.math.BigDecimal;

public class ExchangeProduct {
    // 资产转换节点ID
    private String productId;
    // 交易所ID
    private String exchangeId;
    // 交易对
    private String symbol;
    // 交易对别名
    private String symbolAlias;
    // 基础资产
    private String baseAsset;
    // 基础资产别名
    private String baseAssetAlias;
    // 计价资产
    private String quoteAsset;
    // 计价资产别名
    private String quoteAssetAlias;
    // 资产转换节点费
    private BigDecimal tradeTakerFee;
    // 资产转换权重
    private BigDecimal weight;

    private int depth;

    public String getProductId() {
        return productId;
    }

    public ExchangeProduct setProductId(String productId) {
        this.productId = productId;
        return this;
    }

    public String getExchangeId() {
        return exchangeId;
    }

    public ExchangeProduct setExchangeId(String exchangeId) {
        this.exchangeId = exchangeId;
        return this;
    }

    public String getSymbol() {
        return symbol;
    }

    public ExchangeProduct setSymbol(String symbol) {
        this.symbol = symbol;
        return this;
    }

    public String getSymbolAlias() {
        return symbolAlias;
    }

    public ExchangeProduct setSymbolAlias(String symbolAlias) {
        this.symbolAlias = symbolAlias;
        return this;
    }

    public String getBaseAsset() {
        return baseAsset;
    }

    public ExchangeProduct setBaseAsset(String baseAsset) {
        this.baseAsset = baseAsset;
        return this;
    }

    public String getBaseAssetAlias() {
        return baseAssetAlias;
    }

    public ExchangeProduct setBaseAssetAlias(String baseAssetAlias) {
        this.baseAssetAlias = baseAssetAlias;
        return this;
    }

    public String getQuoteAsset() {
        return quoteAsset;
    }

    public ExchangeProduct setQuoteAsset(String quoteAsset) {
        this.quoteAsset = quoteAsset;
        return this;
    }

    public String getQuoteAssetAlias() {
        return quoteAssetAlias;
    }

    public ExchangeProduct setQuoteAssetAlias(String quoteAssetAlias) {
        this.quoteAssetAlias = quoteAssetAlias;
        return this;
    }

    public BigDecimal getTradeTakerFee() {
        return tradeTakerFee;
    }

    public ExchangeProduct setTradeTakerFee(BigDecimal tradeTakerFee) {
        this.tradeTakerFee = tradeTakerFee;
        return this;
    }

    public BigDecimal getWeight() {
        return weight;
    }

    public ExchangeProduct setWeight(BigDecimal weight) {
        this.weight = weight;
        return this;
    }

    public int getDepth() {
        return depth;
    }

    public ExchangeProduct setDepth(int depth) {
        this.depth = depth;
        return this;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this)
                .append("productId", productId)
                .append("exchangeId", exchangeId)
                .append("symbol", symbol)
                .append("symbolAlias", symbolAlias)
                .append("baseAsset", baseAsset)
                .append("baseAssetAlias", baseAssetAlias)
                .append("quoteAsset", quoteAsset)
                .append("quoteAssetAlias", quoteAssetAlias)
                .append("tradeTakerFee", tradeTakerFee)
                .append("weight", weight)
                .append("depth", depth)
                .toString();
    }
}
